package cn.getech.data.metadata.entity.meta;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;

@Data
@TableName(value = "collection_table_info")
public class CollectionTableInfo {
    private static final long serialVersionUID = 1L;
    /**
     * 编号
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 数据库名称
     */
    @TableField(value = "db_name")
    private String dbName;

    /**
     * 表名称
     */
    @TableField(value = "table_name")
    private String tableName;

    /**
     * 表别名
     */
    @TableField(value = "table_alias")
    private String tableAlias;

    /**
     * 负责人
     */
    @TableField(value = "table_leader")
    private String tableLeader;

    /**
     * 所属系统id
     */
    @TableField(value = "own_system")
    private Integer ownSystem;

    /**
     * 所属模块id
     */
    @TableField(value = "own_module")
    private Integer ownModule;

    /**
     * 录入方式 0 手动采集 1自动采集 2接口
     */
    @TableField(value = "task_type")
    private Integer taskType;

    /**
     *  1 内部离线元数据 2 内部实时元数据 3 外部元数据
     */
    @TableField(value = "table_type")
    private Integer tableType;

    /**
     * 访问次数，详情接口访问次数 概览需要用
     */
    @TableField(value = "view_count")
    private Integer viewCount;

    /**
     * 访问热度
     */
    @TableField(value = "hot_count")
    private Integer hotCount;

    /**
     * 表数据行数
     */
    @TableField(value = "rows_num")
    private Long rowsNum;

    /**
     * 表的大小
     */
    @TableField(value = "total_size")
    private Double totalSize;

    /**
     * 是否临时表 1 是,0 否
     */
    @TableField(value = "temp_flag")
    private Integer tempFlag;

    /**
     * 详情信息
     */
    @TableField(value = "table_desc")
    private String tableDesc;

    /**
     * 创建理时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 创建人
     */
    @TableField(value = "create_user")
    private Long createUser;

    /**
     * 更新人
     */
    @TableField(value = "update_user")
    private Long updateUser;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;

    /**
     * 删除 1 是,0 否
     */
    @TableField(value = "delete_flag")
    private Integer deleteFlag;

    /**
     * 更新时间
     */
    @TableField(value = "update_table_time")
    private Date updateTableTime;

    /**
     * 数据源的ip、端口、数据库信息
     */
    @TableField(value = "souce_conf")
    private String souceConf;

    /**
     * 数据源 0:默认数据源 -1:其他数据源 其他是具体数据源
     */
    @TableField(value = "source_id")
    private Integer sourceId;

    /**
     * bdp_table_info表的id
     */
    @TableField(value = "table_info_id")
    private Integer tableInfoId;

    /**
     * 密级安全级别
     */
    @TableField(value = "security_data_level")
    private String securityDataLevel;

    @TableField(value = "tenant_id")
    private Integer tenantId;
    /**
     * 注册来源 1:数仓  2:外部表
     */
    @TableField(exist = false)
    private Integer registerFrom;

    @TableField(exist = false)
    private String moduleName;
    @TableField(exist = false)
    private String createUserName;
    @TableField(exist = false)
    private String dbType;

}